iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 3
0
自我挑戰組

初心者學C#系列 第 3

Day 3:淺談C#與程式設計法 (ノ◕ヮ◕)ノ*:・゚✧

  • 分享至 

  • xImage
  •  

※以下內容皆是新手撰寫,內容可能不完全正確

或許有人覺得奇怪,都已經第三天了還沒有切入實際寫程式的部分,為什麼不像其它自學程式語言的筆記,寫完程式語言簡介後第二篇就開始寫Hello world、介紹變數?
那便是因為鄙人有身為出新者的自知之明,不像其他有經驗的人們是「再多學一個程式語言」,必須從基礎開始紮根。有了這樣的覺悟,一些不清楚的分類和特質都會想先搞懂,以免下次看到的時候依然不懂,不懂的東西越積越多,以致最後放棄學習(好吧,有點悲觀過頭了)。總之,稍微了解一下以滿足自己的好奇心 (◕‿◕✿)

「什麼是程式設計法?」

https://ithelp.ithome.com.tw/upload/images/20190919/20120882cataG84yfE.png

程式設計法(Programming paradigm(s)) 講白一點就是程式語言用來處理某些問題的風格/方式,或者,照著某種規則/規律使用我們手上的工具和技巧。使用市面上任何的程式語言時,所有程式語言都各自遵循某些法則,而這些法則和策略就是程式設計法。認識一些程式設計法後,下次看到會有一點概念(吧)。

以下是我在看完這些程式設計法和例子之後歸納出的C#程式設計法懶人包(C#為多重程式設計法類型程式語言),因為我個人不喜歡看擠滿文字的大段落:

結構化程式設計法(structured programming) 用(if、then、else)和重複(while、for)等結構取代舊式用法,提高程式的品質及開發時間。

指令式程式設計法(imperative programming) 相較於告訴電腦「該做什麼」的宣告式程式設計(declarative programming),指令式程式設計直接告訴電腦「該怎麼做」,讓程式讀寫方面更便利。

函式程式設計法(functional programming) 和指令式程式設計相反的概念,雖然C#主要屬於物件導向程式語言,卻有許多支持函式程式設計法的功能。

物件導向程式設計法(object-oriented programming) 資料結構變成包含資料和函數的物件,可在物件(有功能的小片段)間創造關係。

事件驅動程式設計法(event-driven programming) 以事件作為軟體開發的基礎,如按某個按鍵、輸入文字、點擊某個選項等。

非同步方法模式(AMI) e.g. 某網頁的圖片跑出來之前,網頁視窗已經先出現。
泛型(generic programming):演算法和函式用類別(types)做區分,以便對所有資料類別起作用。

反射程式設計法(reflective programming) 是程式在跑的同時,能監視並修改程式的行為。

並行計算(concurrent programming) 相較於順序程式設計一條計算進行完才跳下一條,並型計算程式設計系統中有兩個以上的計算同時進行。

不曉得這些簡單的解釋是否有助於理解◃┆◉◡◉┆▷?
下一篇會開始實際操作的部分(大概吧)

參考資料:
(a) Introduction of Programming Paradigms (GeeksforGeeks)
https://www.geeksforgeeks.org/introduction-of-programming-paradigms/
(b) Structured Programming (Techopedia)
https://www.techopedia.com/definition/16413/structured-programming
(c) Wikipedia


上一篇
Day 2:為何選擇C#? (⊙ω⊙✿)
下一篇
Day 4:C#的開發環境 ✿(◕‿◕)✿
系列文
初心者學C#30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言